package business;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import utils.HibernateUtil;
import entities.Boek;

public class BoekVerwijderaar implements IEntityVerwijderaar<Boek> {

	@Override
	public boolean verwijder(Boek entity) {
		Session session = null;
		Transaction tx = null;

		boolean verwijderd = true;
		try {
			session = HibernateUtil.getSessionFactory().openSession();
			tx = session.beginTransaction();
			
			Query query = session.createSQLQuery("DELETE FROM boek_auteur WHERE BOEK_ID = " + entity.getId());
			query.executeUpdate();
			
			session.delete(entity);

			tx.commit();
		} catch (RuntimeException e) {
			if (tx != null)
				tx.rollback();
			verwijderd = false;
		} finally {
			session.close();
		}
		return verwijderd;
	}

}
